package com.rbcs.flow;

import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.Map;

import com.systop.core.Constants;

/**
 * 流程节点管理常量类.
 */
public final class FlowConstants {

	/** 借款 */
	public static final String FLOW_BORROW = "borrow";

	/** 项目借款 */
	public static final String FLOW_BORROW_PROJECT = "borrowProject";

	/** 报销 */
	public static final String FLOW_REIMB = "reimb";
	
	/** 项目报销 */
	public static final String FLOW_REIMB_PROJECT = "reimbProject";

	/** 还款 */
	public static final String FLOW_REPAY = "rePay";

	/** 预算 */
	public static final String FLOW_BUDGET = "budget";

	/** 项目预算 */
	public static final String FLOW_BUDGET_PROJECT = "budgetProject";

	/**
	 * Map中存放审核人主键的key
	 */
	public static final String AUDITOR_IDS_KEY = "auditorIds";

	/**
	 * Map中存放审核人名称的key
	 */
	public static final String AUDITOR_NAMES_KEY = "auditorNames";

	/**
	 * 流程常量，Start-审批流程开始
	 */
	public static final String FLOW_START = "Start";

	/**
	 * 流程常量，Stop-审批流程终止
	 */
	public static final String FLOW_STOP = "Stop";

	/**
	 * 流程常量，End-审批流程结束
	 */
	public static final String FLOW_END = "End";

	/**
	 * 原始单据审批状态常量,未审核,未发送审核申请的单据
	 */
	public static final String AUDIT_UNSEND = "unsend";

	/**
	 * 申请审批常量,待审批
	 */
	public static final String AUDIT_PENDING = "pending";

	/**
	 * 申请审批常量,已通过
	 */
	public static final String AUDIT_PASS = "pass";

	/**
	 * 申请审批常量,未通过
	 */
	public static final String AUDIT_NOPASS = "nopass";

	/**
	 * 【申请单】状态常量Map
	 */
	public static final Map<String, String> APPLY_STATUS_MAP = Collections
			.synchronizedMap(new LinkedHashMap<String, String>());
	static {
		APPLY_STATUS_MAP.put(AUDIT_UNSEND, "未审批");
		APPLY_STATUS_MAP.put(AUDIT_PENDING, "待审批");
		APPLY_STATUS_MAP.put(AUDIT_PASS, "已通过");
		APPLY_STATUS_MAP.put(AUDIT_NOPASS, "未通过");
	}

	/**
	 * 【审批】状态常量Map
	 */
	public static final Map<String, String> AUDIT_STATUS_MAP = Collections
			.synchronizedMap(new LinkedHashMap<String, String>());
	static {
		AUDIT_STATUS_MAP.put(AUDIT_PENDING, "待审批");
		AUDIT_STATUS_MAP.put(AUDIT_PASS, "已通过");
		AUDIT_STATUS_MAP.put(AUDIT_NOPASS, "未通过");
	}

	/**
	 * 审批【审核】是否同意状态Map
	 */
	public static final Map<String, String> STATUS_MAP = Collections
			.synchronizedMap(new LinkedHashMap<String, String>());
	static {
		STATUS_MAP.put(AUDIT_PASS, "<font color='green'>通过</font>");
		STATUS_MAP.put(AUDIT_NOPASS, "<font color='red'>未通过</font>");
	}

	/**
	 * 出纳付款状态Map
	 */
	public static final Map<String, String> PAY_MAP = Collections
			.synchronizedMap(new LinkedHashMap<String, String>());
	static {
		PAY_MAP.put(Constants.NO, "未付款");
		PAY_MAP.put(Constants.YES, "已付款");
	}

	private FlowConstants() {
	}
}
